home *** CD-ROM | disk | FTP | other *** search
- #ifndef __TIME_H__
- #define __TIME_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ident "$Revision: 1.44 $"
-
- /*
- *
- * Copyright 1992-1996 Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- /* Copyright (c) 1988 AT&T */
- /* All Rights Reserved */
-
- /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
- /* The copyright notice above does not evidence any */
- /* actual or intended publication of such source code. */
-
- /*
- * WARNING - this is an ANSI/POSIX/XPG4 header. Watch for name space pollution
- */
- #include <standards.h>
- #include <sys/types.h>
- #include <sys/signal.h>
-
- #ifndef NULL
- #define NULL 0L
- #endif
-
- #if !defined(_SIZE_T) && !defined(_SIZE_T_)
- #define _SIZE_T
- #if (_MIPS_SZLONG == 32)
- typedef unsigned int size_t;
- #endif
- #if (_MIPS_SZLONG == 64)
- typedef unsigned long size_t;
- #endif
- #endif
-
- #ifndef _CLOCK_T
- #define _CLOCK_T
- #if (_MIPS_SZLONG == 32)
- typedef long clock_t;
- #endif
- #if (_MIPS_SZLONG == 64)
- typedef int clock_t;
- #endif
- #endif
-
- #ifndef _TIME_T
- #define _TIME_T
- #if (_MIPS_SZLONG == 32)
- typedef long time_t;
- #endif
- #if (_MIPS_SZLONG == 64)
- typedef int time_t;
- #endif
- #endif /* !_TIME_T */
-
- #if ((_POSIX93 && _NO_ANSIMODE) || _ABIAPI)
-
- #if !defined(_STANDALONE)
- #include <sys/ptimers.h>
- #endif
- #endif /* (_POSIX93 && _NO_ANSIMODE) || _ABIAPI */
-
- #ifndef _CLOCK_ID_T
- #define _CLOCK_ID_T
- typedef int clockid_t;
- #endif
- #ifndef _TIMER_T
- #define _TIMER_T
- typedef int timer_t;
- #endif
-
- #if _SGIAPI
- #ifndef timespec_to_timeval
- #define timespec_to_timeval(t, ts) \
- (t)->tv_sec = (ts)->tv_sec; \
- (t)->tv_usec = (ts)->tv_nsec / 1000;
-
- #define timeval_to_timespec(ts, t) \
- (ts)->tv_sec = (t)->tv_sec; \
- (ts)->tv_nsec = (t)->tv_usec * 1000;
-
- #endif
- #ifndef NSEC_PER_SEC
- #define NSEC_PER_SEC 1000000000L
- #endif
- #endif /* SGIAPI */
-
- #define CLOCKS_PER_SEC 1000000
-
- struct tm { /* see ctime(3) */
- int tm_sec;
- int tm_min;
- int tm_hour;
- int tm_mday;
- int tm_mon;
- int tm_year;
- int tm_wday;
- int tm_yday;
- int tm_isdst;
- };
-
- /*
- * Std ANSI functions
- */
- extern clock_t clock(void);
- extern double difftime(time_t, time_t);
- extern time_t mktime(struct tm *);
- extern time_t time(time_t *);
- extern char *asctime(const struct tm *);
- extern char *ctime (const time_t *);
- extern struct tm *gmtime(const time_t *);
- extern struct tm *localtime(const time_t *);
- extern size_t strftime(char *, size_t, const char *, const struct tm *);
-
- #if _POSIX90 && _NO_ANSIMODE
- /*
- * POSIX1003.1 additions
- */
- extern void tzset(void);
- extern char *tzname[2];
-
- #ifndef CLK_TCK
- #define CLK_TCK sysconf(3) /* clock ticks per second */
- /* 3 is _SC_CLK_TCK */
- #endif /* CLK_TCK */
- #endif /* _POSIX90 */
-
- #if _POSIX93 && _NO_ANSIMODE && !defined(_STANDALONE)
- /*
- * POSIX 1003.1b-1993 clock and timer functions
- */
- struct sigevent;
- extern int clock_settime(clockid_t, const struct timespec *);
- extern int clock_gettime(clockid_t, struct timespec *);
- extern int clock_getres(clockid_t, struct timespec *);
- extern int nanosleep(const struct timespec *, struct timespec *);
- extern int timer_create(clockid_t, struct sigevent *, timer_t *);
- extern int timer_delete(timer_t);
- extern int timer_settime(timer_t, int, const struct itimerspec *, struct itimerspec *);
- extern int timer_gettime(timer_t, struct itimerspec *);
- extern int timer_getoverrun(timer_t);
- #endif /* _POSIX93 */
-
- #if _XOPEN4 && _NO_ANSIMODE
- /*
- * XPG4 additions
- */
- extern time_t timezone;
- extern int daylight;
- extern char *strptime(const char *, const char *, struct tm *);
- #endif
-
- #if _XOPEN4UX && _NO_ANSIMODE
- /*
- * XPG4-UX additions
- */
- extern struct tm *getdate(const char *);
- extern int getdate_err;
- #endif /* _XOPEN4UX */
-
- #if _SGIAPI
- extern int cftime(char *, char *, const time_t *);
- extern int ascftime(char *, const char *, const struct tm *);
- extern time_t altzone;
- #endif /* _SGIAPI */
-
- #if _POSIX1C && _NO_ANSIMODE
- /*
- * POSIX1c additions
- */
- extern char *asctime_r(const struct tm *, char *);
- extern char *ctime_r(const time_t *, char *);
- extern struct tm *gmtime_r(const time_t *, struct tm *);
- extern struct tm *localtime_r(const time_t *, struct tm *);
- #endif /* _POSIX1C */
-
- #ifdef __cplusplus
- }
- #endif
- #endif /* !__TIME_H__ */
-
-